﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ПроцедурыОбменаСРозничнойТорговлей
	{

		public object ПолучитьМассивВсехУзлов(/**/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = "ВЫБРАТЬ различные
	               |	ОбменУправлениеПредприятиемРозничнаяТорговля.Ссылка КАК Ссылка
	               |ИЗ
	               |	ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля КАК ОбменУправлениеПредприятиемРозничнаяТорговля
				   |
				   |ГДЕ
				   |
				   |	ОбменУправлениеПредприятиемРозничнаяТорговля.Ссылка <> &ЭтотУзел";*/
			//Запрос.УстановитьПараметр("ЭтотУзел", ПланыОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.ЭтотУзел());
			//МассивСсылок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
			return null;
		}

		public object ВернутьМассивВсехУзловИзПараметровСеанса(/**/)
		{
			return null;
		}

		public object ПолучитьСоответствиеРеквизитовИУзлов(/**/)
		{
			//Хранилище = ПараметрыСеанса.СоответствиеРеквизитовИУзловОбменаСРозничнойТорговлей;
			//СоответствиеРеквизитовИУзлов = Хранилище.Получить();
			return null;
		}

		public object ПолучитьТаблицуУзловИДат(/**/)
		{
			//Хранилище = ПараметрыСеанса.СоответствиеУзловИДатДляОбменаУправлениеПредприятиемРозничнаяТорговля;
			//ТаблицаУзловИДат = Хранилище.Получить();
			return null;
		}

		public object ВернутьМассивУзловПоОдномуРеквизиту(/*Реквизит, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			if(true/*СоответствиеРеквизитовИУзлов = Неопределено*/)
			{
				//СоответствиеРеквизитовИУзлов = ПолучитьСоответствиеРеквизитовИУзлов();
			}
			return null;
		}

		public object ПолучитьЗапросомМассивУзловПоТипуЦен(/*ТипЦеныНоменклатуры*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ОбменУправлениеПредприятиемРозничнаяТорговляТипыЦенНоменклатуры.Ссылка
	|ИЗ
	|	ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.ТипыЦенНоменклатуры КАК ОбменУправлениеПредприятиемРозничнаяТорговляТипыЦенНоменклатуры
	|ГДЕ
	|	ОбменУправлениеПредприятиемРозничнаяТорговляТипыЦенНоменклатуры.ТипЦеныНоменклатуры = &ТипЦеныНоменклатуры
	|	И ОбменУправлениеПредприятиемРозничнаяТорговляТипыЦенНоменклатуры.Ссылка <> &ЭтотУзел
	|
	|ОБЪЕДИНИТЬ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ОбменУправлениеПредприятиемРозничнаяТорговля.Ссылка
	|ИЗ
	|	ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля КАК ОбменУправлениеПредприятиемРозничнаяТорговля
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.ТипыЦенНоменклатуры КАК ОбменУправлениеПредприятиемРозничнаяТорговляТипыЦенНоменклатуры
	|		ПО (ОбменУправлениеПредприятиемРозничнаяТорговляТипыЦенНоменклатуры.Ссылка = ОбменУправлениеПредприятиемРозничнаяТорговля.Ссылка)
	|ГДЕ
	|	ОбменУправлениеПредприятиемРозничнаяТорговля.Ссылка <> &ЭтотУзел
	|
	|СГРУППИРОВАТЬ ПО
	|	ОбменУправлениеПредприятиемРозничнаяТорговля.Ссылка
	|
	|ИМЕЮЩИЕ
	|	КОЛИЧЕСТВО(ОбменУправлениеПредприятиемРозничнаяТорговляТипыЦенНоменклатуры.ТипЦеныНоменклатуры) = 0";*/
			//Запрос.УстановитьПараметр("ТипЦеныНоменклатуры", ТипЦеныНоменклатуры);
			//Запрос.УстановитьПараметр("ЭтотУзел"           , ПланыОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.ЭтотУзел());
			return null;
		}

		public object ПолучитьЗапросомМассивУзловПоСкладу(/*Склад*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.Ссылка
	|ИЗ
	|	ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.СоответствияМагазиновИСкладов КАК ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов
	|ГДЕ
	|	(ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.СкладМагазина = &Склад
	|			ИЛИ ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.СкладМагазина ЕСТЬ NULL )
	|	И ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.Ссылка <> &ЭтотУзел";*/
			if(true/*ТипЗнч(Склад) = Тип("Массив")*/)
			{
				//Запрос.Текст = СтрЗаменить(Запрос.Текст, "= &Склад", "В (&Склад)");
			}
			//Запрос.УстановитьПараметр("Склад"   , Склад);
			//Запрос.УстановитьПараметр("ЭтотУзел", ПланыОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.ЭтотУзел());
			return null;
		}

		public object ПолучитьЗапросомМассивУзловПоОрганизации(/*Организация*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
	               |	ОбменУправлениеПредприятиемРозничнаяТорговля.Ссылка КАК Ссылка
	               |ИЗ
	               |	ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля КАК ОбменУправлениеПредприятиемРозничнаяТорговля
	               |		ЛЕВОЕ СОЕДИНЕНИЕ ПланОбмена.ОбменУправлениеПредприятиемУправлениеТорговлей.Организации КАК СписокОрганизаций
	               |		ПО ОбменУправлениеПредприятиемРозничнаяТорговля.Ссылка = СписокОрганизаций.Ссылка
	               |ГДЕ
	               |	(СписокОрганизаций.Организация В (&СсылкаНаОрганизацию)
	               |			ИЛИ СписокОрганизаций.Организация ЕСТЬ NULL )
	               |	И ОбменУправлениеПредприятиемРозничнаяТорговля.Ссылка <> &ЭтотУзел";*/
			//Запрос.УстановитьПараметр("СсылкаНаОрганизацию", Организация);
			//Запрос.УстановитьПараметр("ЭтотУзел", ПланыОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.ЭтотУзел());
			//МассивСсылок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
			return null;
		}

		public object ПолучитьЗапросомМассивУзловПоКассе(/*Касса*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.Ссылка
	|ИЗ
	|	ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.СоответствияМагазиновИСкладов КАК ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов
	|ГДЕ
	|	(ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.КассаМагазина = &Касса
	|			ИЛИ ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.КассаМагазина ЕСТЬ NULL )
	|	И ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.Ссылка <> &ЭтотУзел";*/
			//Запрос.УстановитьПараметр("Касса"   , Касса);
			//Запрос.УстановитьПараметр("ЭтотУзел", ПланыОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.ЭтотУзел());
			return null;
		}

		public object ПолучитьЗапросомМассивУзловПоКассеККМ(/*КассаККМ*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.Ссылка
	|ИЗ
	|	ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.СоответствияМагазиновИСкладов КАК ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов
	|ГДЕ
	|	(ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.КассаККММагазина = &КассаККМ
	|			ИЛИ ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.КассаККММагазина ЕСТЬ NULL )
	|	И ОбменУправлениеПредприятиемРозничнаяТорговляСоответствияМагазиновИСкладов.Ссылка <> &ЭтотУзел";*/
			//Запрос.УстановитьПараметр("КассаККМ", КассаККМ);
			//Запрос.УстановитьПараметр("ЭтотУзел", ПланыОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.ЭтотУзел());
			return null;
		}

		public object ПолучитьМассивУзловПоКассе(/*Касса, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			if(true/*ТипЗнч(Касса) = Тип("Массив")*/)
			{
				//КоличествоЭлементовВМассиве = Касса.Количество();
				if(true/*КоличествоЭлементовВМассиве = 0*/)
				{
					//КассаДляПоиска = Справочники.Кассы.ПустаяСсылка();
				}
			}
			/*//Если КассаДляПоиска - неопределилась до сих пор, то значит
*/
			/*//передан был массив касс при обращении к функции
*/
			if(true/*КассаДляПоиска <> Неопределено*/)
			{
				/*//В МассивУзлов запишем все узлы, в которые данная касса может мигрировать
*/
				/*//
*/
				//МассивУзлов = ВернутьМассивУзловПоОдномуРеквизиту(КассаДляПоиска, СоответствиеРеквизитовИУзлов);
			}
			return null;
		}

		public object ПолучитьМассивУзловПоТипуЦенНоменклатуры(/*ТипЦенНоменклатуры, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			if(true/*ТипЗнч(ТипЦенНоменклатуры) = Тип("Массив")*/)
			{
				//КоличествоЭлементовВМассиве = ТипЦенНоменклатуры.Количество();
				if(true/*КоличествоЭлементовВМассиве = 0*/)
				{
					//ТипЦенНоменклатурыДляПоиска = Справочники.ТипыЦенНоменклатуры.ПустаяСсылка();
				}
			}
			if(true/*ТипЦенНоменклатурыДляПоиска <> Неопределено*/)
			{
				//МассивУзлов = ВернутьМассивУзловПоОдномуРеквизиту(ТипЦенНоменклатурыДляПоиска, СоответствиеРеквизитовИУзлов);
			}
			return null;
		}

		public object ПолучитьМассивУзловПоОрганизации(/*Организация, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			if(true/*ТипЗнч(Организация) = Тип("Массив")*/)
			{
				//КоличествоЭлементовВМассиве = Организация.Количество();
				if(true/*КоличествоЭлементовВМассиве = 0*/)
				{
					//ОрганизацияДляПоиска = Справочники.Организации.ПустаяСсылка();
				}
			}
			if(true/*ОрганизацияДляПоиска <> Неопределено*/)
			{
				//МассивУзлов = ВернутьМассивУзловПоОдномуРеквизиту(ОрганизацияДляПоиска, СоответствиеРеквизитовИУзлов);
			}
			return null;
		}

		public object ОпределитьПоЭлементуЭтоГруппаИСсылку(/*Элемент, ИмяБазовогоТипа, ТипЭлемента, НужноОпределятьЭтоГруппа = Ложь, ЭтоГруппа = Ложь*/)
		{
			//ИмяДляЗапроса = "";
			//ЭтоСсылка = ОпределитьПоЭлементуЭтоСсылка(Элемент, ИмяБазовогоТипа, ТипЭлемента, ИмяДляЗапроса);
			if(true/*НЕ ЭтоСсылка*/)
			{
				if(true/*НужноОпределятьЭтоГруппа*/)
				{
					//ЭтоГруппа = Элемент.ЭтоГруппа;
					if(true/*ЭтоГруппа = Неопределено*/)
					{
						//ЭтоГруппа = Ложь;
					}
				}
			}
			if(true/*НужноОпределятьЭтоГруппа*/)
			{
				//ЭтоГруппа = ПолучитьЗначениеПараметраОбъектаИлиСсылки(Элемент, ИмяБазовогоТипа, ТипЭлемента, "ЭтоГруппа");
				if(true/*ЭтоГруппа = Неопределено*/)
				{
					//ЭтоГруппа = Ложь;
				}
			}
			return null;
		}

		public object ОпределитьПоЭлементуЭтоСсылка(/*Элемент, ИмяБазовогоТипа, ТипЭлемента, ИмяДляЗапроса*/)
		{
			//МетаданныеЭлемента = Элемент.Метаданные();
			if(true/*ИмяБазовогоТипа = "Справочники"*/)
			{
				//ТипСсылки = Тип("СправочникСсылка." + МетаданныеЭлемента.Имя);
				//ИмяДляЗапроса = "Справочник." + МетаданныеЭлемента.Имя;
			}
			//Возврат ТипЭлемента = ТипСсылки;
			return null;
		}

		public object ПолучитьЗначениеПараметраОбъектаИлиСсылки(/*Элемент, ИмяБазовогоТипа, ТипЭлемента, ИмяПараметра*/)
		{
			//ИмяДляЗапроса = "";
			//ЭтоСсылка = ОпределитьПоЭлементуЭтоСсылка(Элемент, ИмяБазовогоТипа, ТипЭлемента, ИмяДляЗапроса);
			if(true/*НЕ ЭтоСсылка*/)
			{
			}
			//Запрос = Новый Запрос();
			/*Запрос.Текст = "ВЫБРАТЬ
	               |	ОбъектДанных." + ИмяПараметра + "
				   |
	               |ИЗ
	               |	" + ИмяДляЗапроса + " КАК ОбъектДанных
	               |ГДЕ
	               |	ОбъектДанных.Ссылка = &Ссылка";*/
			//Запрос.УстановитьПараметр("Ссылка", Элемент);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			//Выборка = РезультатЗапроса.Выбрать();
			//Выборка.Следующий();
			return null;
		}

		public void ДополнитьМассивУзловДляВыгрузкиДокумента(/*Элемент, МассивУзловДляПередачи, 
	ТипЭлемента = Неопределено, ВыгружатьДляВсехУзлов = Ложь, ВозвращатьМассивВсехУзлов = Истина,
	СоответствиеРеквизитовИУзлов = Неопределено, НужноАнализироватьОграниченияПоДатам = Ложь*/)
		{
			if(true/*ТипЭлемента = Неопределено*/)
			{
				//ТипЭлемента = ТипЗнч(Элемент);
			}
			if(true/*ТипЭлемента = Тип("ДокументСсылка.УстановкаЦенНоменклатуры")
		ИЛИ ТипЭлемента = Тип("ДокументОбъект.УстановкаЦенНоменклатуры")*/)
			{
				//МассивТиповЦен = Элемент.ТипыЦен.ВыгрузитьКолонку("ТипЦен");
				//ДополнитьМассивУзламиПоТипуЦенНоменклатуры(МассивУзловДляПередачи, МассивТиповЦен);
			}
			if(true/*НужноАнализироватьОграниченияПоДатам*/)
			{
				/*// ограничение по датам смотрим
*/
				//ТаблицаДатИУзлов = ПолучитьТаблицуУзловИДат();
				//Номер = МассивУзловДляПередачи.Количество() - 1;
				while(true/*Номер >= 0*/)
				{
					//СтрокаТаблицы = ТаблицаДатИУзлов.Найти(МассивУзловДляПередачи[Номер], "ссылка");
					if(true/*СтрокаТаблицы = Неопределено
				ИЛИ Элемент.Дата < СтрокаТаблицы.ДатаНачалаВыгрузкиДокументов
				ИЛИ Элемент.Дата < СтрокаТаблицы.ДатаСвертки*/)
					{
						if(true/*СтрокаТаблицы <> Неопределено И Элемент.Дата < СтрокаТаблицы.ДатаСвертки*/)
						{
							/*//зарегистрировать изменения для свертки
*/
							//НаборЗаписей = РегистрыСведений.СверткаУзлаРозницы.СоздатьНаборЗаписей();
							//НаборЗаписей.Отбор.УзелРозницы.Установить(МассивУзловДляПередачи[Номер]);
							//НаборЗаписей.Прочитать();
							//ПланыОбмена.ЗарегистрироватьИзменения(МассивУзловДляПередачи[Номер], НаборЗаписей);
						}
						//МассивУзловДляПередачи.Удалить(Номер);
					}
					//Номер = Номер - 1;
				}
				//;;
			}
		}

		public void ОбъединитьМассивыУзловПоИ(/*ИсходныйМассив, МассивОграничений*/)
		{
			if(true/*МассивОграничений = Неопределено*/)
			{
				//ИсходныйМассив.Очистить();
			}
			if(true/*МассивОграничений.Количество() = 0*/)
			{
				//ИсходныйМассив.Очистить();
			}
			//НомерВмассиве = ИсходныйМассив.Количество() - 1;
			while(true/*НомерВМассиве >= 0*/)
			{
				if(true/*МассивОграничений.Найти(ИсходныйМассив[НомерВМассиве]) = Неопределено*/)
				{
					//ИсходныйМассив.Удалить(НомерВМассиве);
				}
				//НомерВМассиве = НомерВМассиве - 1;
			}
			//;;
		}

		public void ДополнитьМассивСсылками(/*ТекущийМассив, МассивДляДобавления*/)
		{
			if(true/*МассивДляДобавления = Неопределено*/)
			{
			}
		}

		public object ПолучитьПоНаборуЗаписейРазличныеЗначенияРеквизита(/*НаборЗаписей, ИмяРеквизита*/)
		{
			if(true/*НаборЗаписей.Количество() = 0*/)
			{
			}
			//ТаблицаДанных = НаборЗаписей.Выгрузить(, ИмяРеквизита);
			//ТаблицаДанных.Свернуть(ИмяРеквизита);
			//Массив = ТаблицаДанных.ВыгрузитьКолонку(ИмяРеквизита);
			return null;
		}

		public void ДополнитьМассивВсемиУзлами(/*МассивУзловДляПередачи*/)
		{
			//МассивУзлов = ВернутьМассивВсехУзловИзПараметровСеанса();
			//ДополнитьМассивСсылками(МассивУзловДляПередачи, МассивУзлов);
		}

		public void ДополнитьМассивУзламиПоСкладу(/*МассивУзловДляПередачи, Склад, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			//МассивУзлов = ВернутьМассивУзловПоОдномуРеквизиту(Склад, СоответствиеРеквизитовИУзлов);
			//ДополнитьМассивСсылками(МассивУзловДляПередачи, МассивУзлов);
		}

		public void ДополнитьМассивУзламиПоКассе(/*МассивУзловДляПередачи, Касса, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			//МассивУзлов = ПолучитьМассивУзловПоКассе(Касса, СоответствиеРеквизитовИУзлов);
			/*//Объединим массивы переданный в процедуру и полученный в теле процедуры
*/
			//ДополнитьМассивСсылками(МассивУзловДляПередачи, МассивУзлов);
		}

		public void ДополнитьМассивУзламиПоОрганизации(/*МассивУзловДляПередачи, Организация, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			//МассивУзлов = ПолучитьМассивУзловПоОрганизации(Организация, СоответствиеРеквизитовИУзлов);
			//ДополнитьМассивСсылками(МассивУзловДляПередачи, МассивУзлов);
		}

		public void ДополнитьМассивУзламиПоТипуЦенНоменклатуры(/*МассивУзловДляПередачи, ТипЦенНоменклатуры, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			//МассивУзлов = ПолучитьМассивУзловПоТипуЦенНоменклатуры(ТипЦенНоменклатуры, СоответствиеРеквизитовИУзлов);
			/*//Объединим массивы переданный в процедуру и полученный в теле процедуры
*/
			//ДополнитьМассивСсылками(МассивУзловДляПередачи, МассивУзлов);
		}

		public void ДополнитьМассивУзловДляВыгрузкиСправочника(/*Элемент, МассивУзловДляПередачи, 
	ТипЭлемента = Неопределено, ВыгружатьДляВсехУзлов = Ложь, ВозвращатьМассивВсехУзлов = Истина, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			if(true/*ТипЭлемента = Неопределено*/)
			{
				//ТипЭлемента = ТипЗнч(Элемент);
			}
			/*// предопределенные элементы выгружаем и загружаем послностью
*/
			if(true/*Элемент.Предопределенный 
	   И Не (ТипЭлемента = Тип("СправочникОбъект.КатегорииОбъектов") ИЛИ ТипЭлемента = Тип("СправочникСсылка.КатегорииОбъектов"))
	   И НЕ (ТипЭлемента = Тип("СправочникОбъект.ВидыКонтактнойИнформации") Или ТипЭлемента = Тип("СправочникСсылка.ВидыКонтактнойИнформации"))*/)
			{
				//ОбеспечитьВыгрузкуОбъектаДляВсехУзлов(ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, МассивУзловДляПередачи);
			}
			//ВыгружатьДляВсехУзлов = Ложь;
			if(true/*ТипЭлемента = Тип("СправочникОбъект.Кассы")
		ИЛИ ТипЭлемента = Тип("СправочникСсылка.Кассы")*/)
			{
				//СсылкаНаЭлемент = ОпределитьПоЭлементуЭтоГруппаИСсылку(Элемент, "Справочники", ТипЭлемента, Истина, ЭтоГруппа);
				if(true/*ЭтоГруппа*/)
				{
					/*// все узлы
*/
					//ОбеспечитьВыгрузкуОбъектаДляВсехУзлов(ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, МассивУзловДляПередачи);
				}
			}
		}

		public void ОбеспечитьВыгрузкуОбъектаДляВсехУзлов(/*ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, МассивУзловДляПередачи*/)
		{
			//ВыгружатьДляВсехУзлов = Истина;
			if(true/*ВозвращатьМассивВсехУзлов*/)
			{
				//ДополнитьМассивВсемиУзлами(МассивУзловДляПередачи);
			}
		}

		public object ОпределениеУзловДляВыгрузкиСправочника(/*Элемент, ТипЭлемента = Неопределено, 
	ВыгружатьДляВсехУзлов = Ложь, ВозвращатьМассивВсехУзлов = Истина, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			//МассивУзловДляПередачи = Новый Массив;
			/*ДополнитьМассивУзловДляВыгрузкиСправочника(Элемент, МассивУзловДляПередачи, ТипЭлемента, ВыгружатьДляВсехУзлов, 
	                                           ВозвращатьМассивВсехУзлов, СоответствиеРеквизитовИУзлов);*/
			return null;
		}

		public object ОпределениеУзловДляВыгрузкиДокумента(/*Элемент, ТипРеквизита = Неопределено, ВыгружатьДляВсехУзлов = Ложь, 
	ВозвращатьМассивВсехУзлов = Истина, СоответствиеРеквизитовИУзлов = Неопределено,
	НужноАнализироватьОграниченияПоДатам = Ложь*/)
		{
			//МассивУзловДляПередачи = Новый Массив;
			/*ДополнитьМассивУзловДляВыгрузкиДокумента(Элемент, МассивУзловДляПередачи, 
		ТипРеквизита, ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, СоответствиеРеквизитовИУзлов, НужноАнализироватьОграниченияПоДатам);*/
			return null;
		}

		public object ОпределитьМассивУзловДляРегистрацииПроизвольногоТипа(/*Данные, ИмяБазовогоТипа, ТипЭлемента = Неопределено, МетаданныеОбъекта = Неопределено,
	ВыгружатьДляВсехУзлов = Ложь, ВозвращатьМассивВсехУзлов = Истина, СоответствиеРеквизитовИУзлов = Неопределено,
	НужноАнализироватьОграниченияПоДатам = Истина*/)
		{
			if(true/*ИмяБазовогоТипа = "Справочники"*/)
			{
				/*МассивУзловДляРегистрацииСсылки = ОпределениеУзловДляВыгрузкиСправочника(Данные, ТипЭлемента, ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов,
		                                                                         СоответствиеРеквизитовИУзлов);*/
			}
			return null;
		}

		public void ОпределитьПоНаборуиРеквизитуМассивУзловДляПередачи(/*НаборЗаписей, МассивУзловДляПередачи, 
	ИмяРеквизита, ТипЭлемента = Неопределено, СоответствиеРеквизитовИУзлов = Неопределено, ИмяБазовогоТипа = "Справочники"*/)
		{
			//МассивРазличныхЗначенийРеквизита = ПолучитьПоНаборуЗаписейРазличныеЗначенияРеквизита(НаборЗаписей, ИмяРеквизита);
			//МассивУзловДляПередачи = Новый Массив();
		}

		public void ДополнитьМассивУзловДляВыгрузкиСсылочногоТипа(/*ИмяБазовогоТипа, Элемент, МассивУзловДляПередачи, 
	ТипЭлемента = Неопределено, ВыгружатьДляВсехУзлов = Ложь, ВозвращатьМассивВсехУзлов = Истина,
	СоответствиеРеквизитовИОрганизаций = Неопределено*/)
		{
			if(true/*ИмяБазовогоТипа = "Справочники"*/)
			{
				/*ДополнитьМассивУзловДляВыгрузкиСправочника(Элемент, МассивУзловДляПередачи, 
			ТипЭлемента, ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов,
			СоответствиеРеквизитовИОрганизаций);*/
			}
		}

		public object ОпределениеУзловДляВыгрузкиНабораЗаписейРегистраСведений(/*Элемент, МетаданныеРегистра, 
	ВыгружатьДляВсехУзлов = Ложь, ВозвращатьМассивВсехУзлов = Истина, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			//ВыгружатьДляВсехУзлов = Ложь;
			//МассивУзловДляПередачи = Новый Массив;
			//ТипЭлемента = ТипЗнч(Элемент);
			if(true/*ТипЭлемента = Тип("РегистрСведенийНаборЗаписей.КатегорииОбъектов")
		Или ТипЭлемента = Тип("РегистрСведенийНаборЗаписей.ЗначенияСвойствОбъектов")
		Или ТипЭлемента = Тип("РегистрСведенийНаборЗаписей.НазначенияСвойствОбъектов")*/)
			{
				//ЭлементОтборОбъектЗначение = Элемент.Отбор.Объект.Значение;
				if(true/*Не Элемент.Отбор.Объект.Использование*/)
				{
					//ОбеспечитьВыгрузкуОбъектаДляВсехУзлов(ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, МассивУзловДляПередачи);
				}
			}
			return null;
		}

		public object ОпределениеУзловДляВыгрузкиНабораЗаписейРегистраНакопления(/*Элемент, МетаданныеРегистра, 
	ВыгружатьДляВсехУзлов = Ложь, ВозвращатьМассивВсехУзлов = Истина, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			//ВыгружатьДляВсехУзлов = Ложь;
			//МассивУзловДляПередачи = Новый Массив;
			//ТипЭлемента = ТипЗнч(Элемент);
			//СпособНеВыгружать = Перечисления.СпособыВыгрузкиСебестоимостиВРозничнуюТорговлю.НеВыгружать;
			/*//Если ТипЭлемента = Тип("РегистрНакопленияНаборЗаписей.ПродажиСебестоимость") Тогда
*/
			//ДополнитьМассивВсемиУзлами(МассивУзловДляПередачи);
			/*// не по всем узлам нужно выгружать себестоимость
*/
			//ТаблицаДатИУзлов = ПолучитьТаблицуУзловИДат();
			//Номер = МассивУзловДляПередачи.Количество() - 1;
			while(true/*Номер >= 0*/)
			{
				//СтрокаТаблицы = ТаблицаДатИУзлов.Найти(МассивУзловДляПередачи[Номер], "ссылка");
				if(true/*СтрокаТаблицы = Неопределено
				ИЛИ МассивУзловДляПередачи[Номер].СпособВыгрузкиСебестоимости = СпособНеВыгружать*/)
				{
					//МассивУзловДляПередачи.Удалить(Номер);
				}
				//Номер = Номер - 1;
			}
			/*//КонецЕсли;
*/
			return null;
		}

		public object ОпределениеУзловДляВыгрузкиПланаВидовХарактеристик(/*Элемент, МетаданныеРегистра, 
	ВыгружатьДляВсехУзлов = Ложь, ВозвращатьМассивВсехУзлов = Истина, СоответствиеРеквизитовИУзлов = Неопределено*/)
		{
			//ВыгружатьДляВсехУзлов = Ложь;
			//МассивУзловДляПередачи = Новый Массив;
			//ТипЭлемента = ТипЗнч(Элемент);
			if(true/*ТипЭлемента = Тип("ПланВидовХарактеристикСсылка.СвойстваОбъектов")
		Или ТипЭлемента = Тип("ПланВидовХарактеристикОбъект.СвойстваОбъектов")*/)
			{
				if(true/*Элемент.НазначениеСвойства.ТипЗначения = Неопределено 
			ИЛИ 
			//(
			Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Номенклатура")) 
			//	  И Элемент.НазначениеСвойства <> ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры)
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Контрагенты"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Организации"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("СправочникСсылка.ФизическиеЛица"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Склады"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ВнутреннееПеремещениеНаличныхДенежныхСредств"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ВозвратТоваровОтПокупателя"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ИнвентаризацияТоваровНаСкладе"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.КомплектацияНоменклатуры"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ОплатаОтПокупателяПлатежнойКартой"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ОприходованиеТоваров"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ОтменаСкидокНоменклатуры"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ОтчетОРозничныхПродажах"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ПеремещениеТоваров"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ПоступлениеТоваровУслуг"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ПриходныйКассовыйОрдер"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ПриходныйОрдерНаТовары"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.РасходныйКассовыйОрдер"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.РасходныйОрдерНаТовары"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.РеализацияТоваровУслуг"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.СписаниеТоваров"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.УстановкаПороговНакопительныхСкидок"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.УстановкаСкидокНоменклатуры"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.УстановкаЦенНоменклатуры"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ЧекККМ"))*/)
				{
					/*//(
*/
					/*//	  И Элемент.НазначениеСвойства <> ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры)
*/
					/*ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Контрагенты"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Организации"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("СправочникСсылка.ФизическиеЛица"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("СправочникСсылка.Склады"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ВнутреннееПеремещениеНаличныхДенежныхСредств"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ВозвратТоваровОтПокупателя"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ИнвентаризацияТоваровНаСкладе"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.КомплектацияНоменклатуры"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ОплатаОтПокупателяПлатежнойКартой"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ОприходованиеТоваров"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ОтменаСкидокНоменклатуры"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ОтчетОРозничныхПродажах"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ПеремещениеТоваров"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ПоступлениеТоваровУслуг"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ПриходныйКассовыйОрдер"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ПриходныйОрдерНаТовары"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.РасходныйКассовыйОрдер"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.РасходныйОрдерНаТовары"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.РеализацияТоваровУслуг"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.СписаниеТоваров"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.УстановкаПороговНакопительныхСкидок"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.УстановкаСкидокНоменклатуры"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.УстановкаЦенНоменклатуры"))
			ИЛИ Элемент.НазначениеСвойства.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ЧекККМ")) Тогда
			
			ОбеспечитьВыгрузкуОбъектаДляВсехУзлов(ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, МассивУзловДляПередачи);*/
				}
			}
			return null;
		}

		public void ЗаполнитьПолучателейДляОбмена(/*Источник, МассивУзловДляРегистрацииПередЗаписью, МассивУзловДляРегистрацииПриЗаписи*/)
		{
			//ПроцедурыОбменаДанными.ДополнитьМассивПолучателейУзламиАвторегистрации(Источник);
			/*// для регистрации ссылки
*/
			/*// для регистрации объекта
*/
		}

		public void ЗарегистрироватьИзмененияДляСебестоимости(/*УзелОбменаОбъект*/)
		{
			/*//найдем периоды, за которые нужно регистрировать
*/
			/*ТекстЗапроса =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	НАЧАЛОПЕРИОДА(Календарь.ДатаКалендаря, МЕСЯЦ) КАК Период
	|ИЗ
	|	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Календарь
	|ГДЕ
	|	Календарь.ДатаКалендаря МЕЖДУ &ДатаНачалаВыгрузки И &ТекущаяДата
	|
	|УПОРЯДОЧИТЬ ПО
	|	Период";*/
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "МЕСЯЦ", УзелОбменаОбъект.ПериодичностьПередачиСебестоимости);
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("ДатаНачалаВыгрузки", УзелОбменаОбъект.ДатаНачалаВыгрузкиСебестоимости);
			//Запрос.УстановитьПараметр("ТекущаяДата",		ТекущаяДата());
			//ТаблицаПериодов = Запрос.Выполнить().Выгрузить();
			//ЗарегистрироватьИзмененияПериодаВыгрузкиСебестоимости(ТаблицаПериодов, УзелОбменаОбъект.Ссылка);
		}

		public void ПередЗаписьюСсылочногоТипаДляОбменаСРозничнойТорговлей(/*Источник, Отказ, ИмяБазовогоТипа, 
	МассивУзловДляРегистрацииСсылки = Неопределено, МассивУзловДляРегистрацииОбъекта = Неопределено*/)
		{
			if(true/*Отказ ИЛИ НЕ ПараметрыСеанса.НаличиеОбменаСРозничнойТорговлей*/)
			{
			}
			if(true/*Источник.ЭтоНовый()*/)
			{
				/*// элемент еще никуда не передавался
*/
				//МассивУзловДляРегистрацииСсылки = Новый Массив;
			}
			//МассивУзловДляРегистрацииОбъекта = ОпределитьМассивУзловДляРегистрацииПроизвольногоТипа(Источник, ИмяБазовогоТипа);
			//ЗаполнитьПолучателейДляОбмена(Источник, МассивУзловДляРегистрацииСсылки, МассивУзловДляРегистрацииОбъекта);
		}

		public void ПередЗаписьюНабораЗаписейДляОбменаСРозничнойТорговлей(/*Источник, Отказ, Замещение, ИмяБазовогоТипа*/)
		{
			if(true/*Отказ
		ИЛИ НЕ ПараметрыСеанса.НаличиеОбменаСРозничнойТорговлей*/)
			{
			}
			//ТипЗначенияИсточника = ТипЗнч(Источник);
			//МетаданныеРегистра = Метаданные.НайтиПоТипу(ТипЗначенияИсточника);
			if(true/*Замещение*/)
			{
				if(true/*ИмяБазовогоТипа = "РегистрыСведений"*/)
				{
					//СтарыйНаборЗаписей = РегистрыСведений[МетаданныеРегистра.Имя].СоздатьНаборЗаписей();
				}
				//СтарыйНаборЗаписей.Прочитать();
				//МассивУзловДляРегистрацииСсылки = ОпределитьМассивУзловДляРегистрацииПроизвольногоТипа(СтарыйНаборЗаписей, ИмяБазовогоТипа,  , МетаданныеРегистра);
			}
			//МассивУзловДляРегистрацииОбъекта = ОпределитьМассивУзловДляРегистрацииПроизвольногоТипа(Источник, ИмяБазовогоТипа,  , МетаданныеРегистра);
			//ЗаполнитьПолучателейДляОбмена(Источник, МассивУзловДляРегистрацииСсылки, МассивУзловДляРегистрацииОбъекта);
		}

		public void ПередЗаписьСправочникаДляОбменаСРозничнойТорговлейПередЗаписью(/*Источник, Отказ*/)
		{
			//ПередЗаписьюСсылочногоТипаДляОбменаСРозничнойТорговлей(Источник, Отказ, "Справочники");
		}

		public void ПередЗаписьюДокументаДляОбменаСРозничнойТорговлейПередЗаписью(/*Источник, Отказ, РежимЗаписи, РежимПроведения*/)
		{
			//ПередЗаписьюСсылочногоТипаДляОбменаСРозничнойТорговлей(Источник, Отказ, "Документы");
		}

		public void ПередЗаписьюРегистраСведенийДляОбменаСРозничнойТорговлейПередЗаписью(/*Источник, Отказ, Замещение*/)
		{
			if(true/*Отказ
		ИЛИ НЕ ПараметрыСеанса.НаличиеОбменаСРозничнойТорговлей*/)
			{
			}
			//ПередЗаписьюНабораЗаписейДляОбменаСРозничнойТорговлей(Источник, Отказ, Замещение, "РегистрыСведений");
		}

		public void ПередУдалениемСправочникаДляОбменаСРозничнойТорговлейПередУдалением(/*Источник, Отказ*/)
		{
			if(true/*Отказ
		ИЛИ НЕ ПараметрыСеанса.НаличиеОбменаСРозничнойТорговлей*/)
			{
			}
			//ПередЗаписьюСсылочногоТипаДляОбменаСРозничнойТорговлей(Источник, Отказ, "Справочники");
		}

		public void ПередУдалениемДокументаДляОбменаСРозничнойТорговлейПередУдалением(/*Источник, Отказ*/)
		{
			if(true/*Отказ
		ИЛИ НЕ ПараметрыСеанса.НаличиеОбменаСРозничнойТорговлей*/)
			{
			}
			//ПередЗаписьюСсылочногоТипаДляОбменаСРозничнойТорговлей(Источник, Отказ, "Документы");
		}

		public void ПередЗаписьюПланаВидовХарактеристикДляОбменаСРозничнойТорговлейПередЗаписью(/*Источник, Отказ*/)
		{
			if(true/*Отказ
		ИЛИ НЕ ПараметрыСеанса.НаличиеОбменаСРозничнойТорговлей*/)
			{
			}
			//ПередЗаписьюСсылочногоТипаДляОбменаСРозничнойТорговлей(Источник, Отказ, "ПланыВидовХарактеристик");
		}

		public void ПередЗаписьюРегистраНакопленияДляОбменаСРозничнойТорговлейПередЗаписью(/*Источник, Отказ, Замещение*/)
		{
			if(true/*Отказ
		ИЛИ НЕ ПараметрыСеанса.НаличиеОбменаСРозничнойТорговлей*/)
			{
			}
			//ТипЗначенияИсточника = ТипЗнч(Источник);
			//МетаданныеРегистра = Метаданные.НайтиПоТипу(ТипЗначенияИсточника);
			//ЭтоКорректировкаСтоимостиСписанияТоваров = ТипЗнч(Источник.Отбор.Регистратор) = Тип("ДокументСсылка.КорректировкаСтоимостиСписанияТоваров");
			//РеквизитОпределяющийПериод = ?(ЭтоКорректировкаСтоимостиСписанияТоваров, "ДокументДвижения", "Период");
			//СтарыйНаборЗаписей = РегистрыНакопления[МетаданныеРегистра.Имя].СоздатьНаборЗаписей();
			if(true/*Замещение*/)
			{
				//СтарыйНаборЗаписей.Прочитать();
				//МассивУзловДляРегистрацииСсылки = ОпределитьМассивУзловДляРегистрацииПроизвольногоТипа(СтарыйНаборЗаписей, "РегистрыНакопления",  , МетаданныеРегистра);
				//ТаблицаСтарогоНабораЗаписей = СтарыйНаборЗаписей.Выгрузить(, РеквизитОпределяющийПериод);
				//ТаблицаСтарогоНабораЗаписей.Свернуть(РеквизитОпределяющийПериод);
			}
			//МассивУзловДляРегистрацииОбъекта = ОпределитьМассивУзловДляРегистрацииПроизвольногоТипа(Источник, "РегистрыНакопления",  , МетаданныеРегистра);
			//ТаблицаНовогоНабораЗаписей = Источник.Выгрузить(, РеквизитОпределяющийПериод);
			//ТаблицаНовогоНабораЗаписей.Свернуть(РеквизитОпределяющийПериод);
			/*//если оба набора записей пустые, то возврат
*/
			if(true/*(ТаблицаСтарогоНабораЗаписей.Количество() = 0) И (ТаблицаНовогоНабораЗаписей.Количество() = 0)*/)
			{
			}
			/*//если нет узлов, для которых нужно регистрировать изменения - возврат
*/
			if(true/*МассивУзловДляРегистрацииОбъекта.Количество() = 0 И МассивУзловДляРегистрацииСсылки.Количество() = 0*/)
			{
			}
			/*//получим общий массив узлов для регистрации
*/
			/*//зарегистрируем изменения для РС ПериодыВыгрузкиСебестоимостиВРозницу
*/
		}

		public void ЗарегистрироватьИзмененияПериодаВыгрузкиСебестоимости(/*ТаблицаПериодов, Узел*/)
		{
			//НаборЗаписей = РегистрыСведений.ПериодыВыгрузкиСебестоимостиВРозницу.СоздатьНаборЗаписей();
		}

		public object ЗаполнитьТаблицуПоОтбору(/*ИмяСправочника, ПредставлениеЭлемента, ХранилищеСОтбором*/)
		{
			//ПостроительЗапроса      = Новый ПостроительЗапроса;
			/*ТекстЗапроса = 
	"ВЫБРАТЬ
	|	ИмяСправочника.Ссылка КАК ПредставлениеЭлемента
	|ИЗ
	|	Справочник.ИмяСправочника КАК ИмяСправочника
	|ГДЕ
	|	НЕ ИмяСправочника.ЭтоГруппа";*/
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ИмяСправочника"       , ИмяСправочника);
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПредставлениеЭлемента", ПредставлениеЭлемента);
			//ПостроительЗапроса.Текст = ТекстЗапроса;
			//ПостроительЗапроса.ЗаполнитьНастройки();
			//СтруктураСОтбором = ХранилищеСОтбором.Получить();
			if(true/*СтруктураСОтбором <> Неопределено*/)
			{
				//ОтборУзла = СтруктураСОтбором.Отбор;
				if(true/*ОтборУзла.Количество() = 0*/)
				{
				}
			}
			//ПостроительЗапроса.Выполнить();
			//ТаблицаЭлементов = ПостроительЗапроса.Результат.Выгрузить();
			return null;
		}
		////////////////////////////////////////////////////////////////////////
		// ВЫГРУЗКА СЕБЕСТОИМОСТИ
		////////////////////////////////////////////////////////////////////////
		// Возвращает таблицу значений, содержащую данные о себестоимости номенклатуры для указанного узла обмена.
		//
		// Параметры
		//	Узел - ПланОбменаСсылка.ОбменУправлениеПредприятиемРозничнаяТорговля - ссылка на узел обмена с 1С:Розница
		//
		// Возвращаемые значения
		//	Соответствие
		//		Ключ - Дата сведений о себестоимости
		//		Значение - Соотвтетствие
		//			Ключ - Код магазина
		//			Значение - Таблица значений с колонками
		//				- Номенклатура
		//				- ХарактеристикаНоменклатуры
		//				- Цена
		//

		public object ПолучитьСебестоимостьНоменклатурыДляВыгрузкиВРозничнуюТорговлю(/*Узел*/)
		{
			/*// Получим реквизиты узла обмена с 1С:Розница
*/
			/*РеквизитыУзла = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(
		Узел,
		"СпособВыгрузкиСебестоимости, ДатаНачалаВыгрузкиСебестоимости, ПериодичностьПередачиСебестоимости");*/
			/*// Проверим, надо ли выгружать себестоимость в этот узел
*/
			if(true/*РеквизитыУзла.СпособВыгрузкиСебестоимости <> Перечисления.СпособыВыгрузкиСебестоимостиВРозничнуюТорговлю.ВыгружатьСебестоимостьУпр
	 И РеквизитыУзла.СпособВыгрузкиСебестоимости <> Перечисления.СпособыВыгрузкиСебестоимостиВРозничнуюТорговлю.ВыгружатьСебестоимостьРегл*/)
			{
			}
			/*// Определим даты начала и окончания периода выгрузки себестоимости.
*/
			//Запрос 					= Новый Запрос;
			//МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("Узел", 				Узел);
			//Запрос.УстановитьПараметр("ДатаНачалаВыгрузки", РеквизитыУзла.ДатаНачалаВыгрузкиСебестоимости);
			/*ТекстЗапроса =
	"ВЫБРАТЬ
	|	ПериодыВыгрузкиСебестоимостиВРозницуИзменения.Дата КАК Дата
	|ПОМЕСТИТЬ ДатыВыгрузкиСебестоимости
	|ИЗ
	|	РегистрСведений.ПериодыВыгрузкиСебестоимостиВРозницу.Изменения КАК ПериодыВыгрузкиСебестоимостиВРозницуИзменения
	|ГДЕ
	|	ПериодыВыгрузкиСебестоимостиВРозницуИзменения.Дата >= &ДатаНачалаВыгрузки
	|	И ПериодыВыгрузкиСебестоимостиВРозницуИзменения.Узел = &Узел
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	МАКСИМУМ(ПериодыВыгрузки.ДатаНачала) КАК ДатаНачала,
	|	МАКСИМУМ(ПериодыВыгрузки.ДатаОкончания) КАК ДатаОкончания
	|ИЗ
	|	(ВЫБРАТЬ
	|		МИНИМУМ(ДатыВыгрузкиСебестоимости.Дата) КАК ДатаНачала,
	|		ДАТАВРЕМЯ(1, 1, 1) КАК ДатаОкончания
	|	ИЗ
	|		ДатыВыгрузкиСебестоимости КАК ДатыВыгрузкиСебестоимости
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		ДАТАВРЕМЯ(1, 1, 1),
	|		МАКСИМУМ(КОНЕЦПЕРИОДА(ДатыВыгрузкиСебестоимости.Дата, МЕСЯЦ))
	|	ИЗ
	|		ДатыВыгрузкиСебестоимости КАК ДатыВыгрузкиСебестоимости) КАК ПериодыВыгрузки";*/
			/*// Установим требуемую периодичность выгрузки себестоимости.
*/
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "МЕСЯЦ", СокрЛП(РеквизитыУзла.ПериодичностьПередачиСебестоимости));
			//Запрос.Текст = ТекстЗапроса;
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				//ДатаНачалаВыгрузки	  = Выборка.ДатаНачала;
				//ДатаОкончанияВыгрузки = Выборка.ДатаОкончания;
			}
			/*// Проверим, надо ли выгружать себестоимость (есть ли зарегистрированные изменения себестоимости).
*/
			if(true/*НЕ ЗначениеЗаполнено(ДатаНачалаВыгрузки)*/)
			{
			}
			//Запрос.УстановитьПараметр("ДатаНачалаВыгрузки",    Новый Граница(ДатаНачалаВыгрузки,    ВидГраницы.Включая));
			/*// переопределим ранее установенный параметр
*/
			//Запрос.УстановитьПараметр("ДатаОкончанияВыгрузки", Новый Граница(ДатаОкончанияВыгрузки, ВидГраницы.Включая));
			/*// Определим настройки параметров учета.
*/
			//ВыгружатьСебестоимостьУпр 		 = (РеквизитыУзла.СпособВыгрузкиСебестоимости = Перечисления.СпособыВыгрузкиСебестоимостиВРозничнуюТорговлю.ВыгружатьСебестоимостьУпр);
			//ИспользоватьРасширеннуюАналитику = УправлениеЗапасами.ИспользуетсяРасширеннаяАналитикаУчета(ДатаОкончанияВыгрузки);
			/*// Подготовим временные таблицы для отбора выгружаемых данных по организации, складу, номенклатуре.
*/
			//СтруктураОтборов = СформироватьВременныеТаблицыОтборовДляВыгрузкиСебестоимости(Узел, МенеджерВременныхТаблиц);
			/*// Создадим временную таблицу соответствия складов и кодов магазинов.
*/
			/*// Если склада нет в таблице СоответствияМагазиновИСкладов или для склада указан пустой код магазина,
*/
			/*// то себестоимость по этому складу выгружаться не должна.
*/
			/*ТекстЗапроса =
	"ВЫБРАТЬ
	|	СоответствияМагазиновИСкладов.СкладМагазина КАК Склад,
	|	СоответствияМагазиновИСкладов.КодМагазина
	|ПОМЕСТИТЬ СоответствияМагазиновИСкладов
	|ИЗ
	|	ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.СоответствияМагазиновИСкладов КАК СоответствияМагазиновИСкладов
	|ГДЕ
	|	СоответствияМагазиновИСкладов.Ссылка = &Узел
	|	И СоответствияМагазиновИСкладов.КодМагазина <> """"
	|;
	|////////////////////////////////////////////////////////////////////////////////
	|";*/
			/*// Сформируем текст запроса в зависимости от режима учета затрат.
*/
			if(true/*ИспользоватьРасширеннуюАналитику*/)
			{
				/*// Отбор по аналитике вида учета нужен всегда, т.к. всегда требуется как минимум один отбор по ключу этой аналитики (РазделУчета = МПЗ).
*/
				/*// Сначала выберем ключи аналитики, по которым были остатки или обороты за период выгрузки себестоимости,
*/
				/*// потом отберем только подходящие ключи по организации и/или складу.
*/
				/*ТекстЗапроса = ТекстЗапроса +
		"ВЫБРАТЬ
		|	РегистрУчетаСебестоимости.АналитикаВидаУчета КАК Ссылка
		|ПОМЕСТИТЬ ИспользуемыеАналитикиВидаУчета
		|ИЗ
		|	РегистрНакопления.УчетЗатратРегл.ОстаткиИОбороты(&ДатаНачалаВыгрузки, &ДатаОкончанияВыгрузки, , , ) КАК РегистрУчетаСебестоимости
		|;
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	АналитикаВидаУчета.Ссылка КАК Значение
		|ПОМЕСТИТЬ ОтборАналитикаВидаУчета
		|ИЗ
		|	РегистрСведений.АналитикаВидаУчета КАК АналитикаВидаУчета
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИспользуемыеАналитикиВидаУчета КАК ИспользуемыеАналитикиВидаУчета
		|		ПО АналитикаВидаУчета.Ссылка = ИспользуемыеАналитикиВидаУчета.Ссылка
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ СоответствияМагазиновИСкладов КАК СоответствияМагазиновИСкладов
		|		ПО АналитикаВидаУчета.Склад = СоответствияМагазиновИСкладов.Склад
		|
		|//ЕстьОтборПоОрганизации	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборОрганизация КАК ОтборОрганизация
		|//ЕстьОтборПоОрганизации	ПО АналитикаВидаУчета.Организация = ОтборОрганизация.Значение
		|
		|//ЕстьОтборПоСкладу		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборСклад КАК ОтборСклад
		|//ЕстьОтборПоСкладу		ПО АналитикаВидаУчета.Склад = ОтборСклад.Значение
		|
		|ГДЕ
		|	АналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.МПЗ)
		|;
		|////////////////////////////////////////////////////////////////////////////////
		|УНИЧТОЖИТЬ ИспользуемыеАналитикиВидаУчета
		|;
		|////////////////////////////////////////////////////////////////////////////////
		|";*/
				/*// Отбор по аналитике учета затрат нужен только если используется отбор по номенклатуре.
*/
				/*// Сначала выберем ключи аналитики, по которым были остатки или обороты за период выгрузки себестоимости,
*/
				/*// потом отберем только подходящие ключи по номенклатуре.
*/
				if(true/*СтруктураОтборов.Номенклатура*/)
				{
					/*ТекстЗапроса = ТекстЗапроса +
			"ВЫБРАТЬ
			|	РегистрУчетаСебестоимости.АналитикаУчетаЗатрат КАК Ссылка
			|ПОМЕСТИТЬ ИспользуемыеАналитикиУчетаЗатрат
			|ИЗ
			|	РегистрНакопления.УчетЗатратРегл.ОстаткиИОбороты(&ДатаНачалаВыгрузки, &ДатаОкончанияВыгрузки, , , ) КАК РегистрУчетаСебестоимости
			|;
			|////////////////////////////////////////////////////////////////////////////////
			|ВЫБРАТЬ
			|	АналитикаУчетаЗатрат.Ссылка КАК Значение
			|ПОМЕСТИТЬ ОтборАналитикаУчетаЗатрат
			|ИЗ
			|	РегистрСведений.АналитикаУчетаЗатрат КАК АналитикаУчетаЗатрат
			|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИспользуемыеАналитикиУчетаЗатрат КАК ИспользуемыеАналитикиУчетаЗатрат
			|		ПО АналитикаУчетаЗатрат.Ссылка = ИспользуемыеАналитикиУчетаЗатрат.Ссылка
			|
			|//ЕстьОтборПоНоменклатуре		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборНоменклатура КАК ОтборНоменклатура
			|//ЕстьОтборПоНоменклатуре		ПО АналитикаУчетаЗатрат.Затрата = ОтборНоменклатура.Значение
			|;
			|////////////////////////////////////////////////////////////////////////////////
			|УНИЧТОЖИТЬ ИспользуемыеАналитикиУчетаЗатрат
			|;
			|////////////////////////////////////////////////////////////////////////////////
			|";*/
				}
				/*// Выберем остатки по периодам из регистра учета затрат.
*/
				/*ТекстЗапроса = ТекстЗапроса +
		"ВЫБРАТЬ
		|	РегистрУчетаСебестоимости.Период,
		|	РегистрУчетаСебестоимости.АналитикаВидаУчета,
		|	РегистрУчетаСебестоимости.АналитикаУчетаЗатрат,
		|	РегистрУчетаСебестоимости.КоличествоКонечныйОстаток КАК Количество,
		|	РегистрУчетаСебестоимости.СтоимостьКонечныйОстаток КАК Стоимость
		|ПОМЕСТИТЬ ОстаткиПоАналитикам
		|ИЗ
		|	РегистрНакопления.УчетЗатратРегл.ОстаткиИОбороты(
		|			&ДатаНачалаВыгрузки,
		|			&ДатаОкончанияВыгрузки,
		|			МЕСЯЦ,
		|			ДвиженияИГраницыПериода,
		|			АналитикаВидаУчета В (ВЫБРАТЬ ОтборАналитикаВидаУчета.Значение ИЗ ОтборАналитикаВидаУчета)
		|//ЕстьОтборПоНоменклатуре	И АналитикаУчетаЗатрат В (ВЫБРАТЬ ОтборАналитикаУчетаЗатрат.Значение ИЗ ОтборАналитикаУчетаЗатрат)
		|	) КАК РегистрУчетаСебестоимости
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	ОстаткиПоАналитикам.Период КАК Дата,
		|	СоответствияМагазиновИСкладов.КодМагазина КАК КодМагазина,
		|	РегистрАналитикаУчетаЗатрат.Затрата КАК Номенклатура,
		|	РегистрАналитикаУчетаЗатрат.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры,
		|	СУММА(ОстаткиПоАналитикам.Количество) КАК Количество,
		|	СУММА(ОстаткиПоАналитикам.Стоимость) КАК Стоимость
		|ИЗ
		|	ОстаткиПоАналитикам КАК ОстаткиПоАналитикам
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
		|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ СоответствияМагазиновИСкладов КАК СоответствияМагазиновИСкладов
		|			ПО РегистрАналитикаВидаУчета.Склад = СоответствияМагазиновИСкладов.Склад
		|		ПО ОстаткиПоАналитикам.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
		|		ПО ОстаткиПоАналитикам.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДатыВыгрузкиСебестоимости КАК ДатыВыгрузкиСебестоимости
		|		ПО ОстаткиПоАналитикам.Период = ДатыВыгрузкиСебестоимости.Дата
		|
		|СГРУППИРОВАТЬ ПО
		|	ОстаткиПоАналитикам.Период,
		|	СоответствияМагазиновИСкладов.КодМагазина,
		|	РегистрАналитикаУчетаЗатрат.Затрата,
		|	РегистрАналитикаУчетаЗатрат.ХарактеристикаЗатраты
		|
		|ИМЕЮЩИЕ
		|	СУММА(ОстаткиПоАналитикам.Количество) > 0 И
		|	СУММА(ОстаткиПоАналитикам.Стоимость) > 0
		|
		|УПОРЯДОЧИТЬ ПО
		|	Дата,
		|	КодМагазина,
		|	Номенклатура,
		|	ХарактеристикаНоменклатуры
		|ИТОГИ ПО
		|	Дата ПЕРИОДАМИ(МЕСЯЦ, , ),
		|	КодМагазина
		|АВТОУПОРЯДОЧИВАНИЕ";*/
				/*// Если выгружается упр. себестоимость, то поменяем в тексте запроса имя регистра.
*/
				if(true/*ВыгружатьСебестоимостьУпр*/)
				{
					//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "УчетЗатратРегл", "УчетЗатрат");
				}
			}
			/*// Установим требуемую периодичность выгрузки себестоимости.
*/
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "МЕСЯЦ", СокрЛП(РеквизитыУзла.ПериодичностьПередачиСебестоимости));
			/*// "Включим" в тексте запроса отборы.
*/
			if(true/*НЕ ВыгружатьСебестоимостьУпр И СтруктураОтборов.Организация*/)
			{
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ЕстьОтборПоОрганизации", "");
			}
			if(true/*СтруктураОтборов.Склад*/)
			{
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ЕстьОтборПоСкладу", "");
			}
			if(true/*СтруктураОтборов.Номенклатура*/)
			{
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ЕстьОтборПоНоменклатуре", "");
			}
			/*// Выполним запрос и заполним возвращаемые функцией данные.
*/
			//Запрос.Текст = ТекстЗапроса;
			//ТаблицаСебестоимость = Новый ТаблицаЗначений;
			//ТаблицаСебестоимость.Колонки.Добавить("Номенклатура");
			//ТаблицаСебестоимость.Колонки.Добавить("ХарактеристикаНоменклатуры");
			//ТаблицаСебестоимость.Колонки.Добавить("Цена");
			/*// Сначала обходим результат запроса по датам.
*/
			//ВыборкаПоДатам 				= Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
			//ДанныеСебестоимостьПоДатам 	= Новый Соответствие;
			while(true/*ВыборкаПоДатам.Следующий()*/)
			{
				/*// Затем - по кодам магазинов.
*/
				//ВыборкаПоМагазинам 			  = ВыборкаПоДатам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
				//ДанныеСебестоимостьПоМагазинам = Новый Соответствие;
				while(true/*ВыборкаПоМагазинам.Следующий()*/)
				{
					/*// Затем - детальные записи по номенклатуре.
*/
					//ВыборкаДетальныеЗаписи = ВыборкаПоМагазинам.Выбрать();
					//ТаблицаСебестоимость.Очистить();
					while(true/*ВыборкаДетальныеЗаписи.Следующий()*/)
					{
						/*// Заполним строки таблицы себестоимости по номенклатуре.
*/
						//НоваяСтрока = ТаблицаСебестоимость.Добавить();
						//ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
						//НоваяСтрока.Цена = Окр(ВыборкаДетальныеЗаписи.Стоимость / ВыборкаДетальныеЗаписи.Количество, 2);
					}
					/*// Заполним соответствие "Код магазина" - "Таблица себестоимости номенклатуры".
*/
					//ДанныеСебестоимостьПоМагазинам.Вставить(ВыборкаПоМагазинам.КодМагазина, ТаблицаСебестоимость.Скопировать());
				}
				/*// Заполним соответствие "Дата себестоимости" - "Соответствие кода магазина и себестоимости номенклатуры".
*/
				//ДанныеСебестоимостьПоДатам.Вставить(ВыборкаПоДатам.Дата, ДанныеСебестоимостьПоМагазинам);
			}
			return null;
		}
		// Формирует временные таблицы, используемые для отбора данных при выгрузке себестоимости номенклатуры.
		// Возможно формирование следующих таблиц: ОтборОрганизация, ОтборСклад, ОтборНоменклатура
		// Сформированные временные таблицы помещаются в МенеджерВременныхТаблиц
		//
		// Параметры
		//	Узел - ПланОбменаСсылка.ОбменУправлениеПредприятиемРозничнаяТорговля - ссылка на узел обмена с 1С:Розница
		//  МенеджерВременныхТаблиц - менеджер временных таблиц
		//
		// Возвращаемые значения
		//	Структура, содержащая ключи
		//		- Организация
		//		- Склад
		//		- Номенклатура
		// 	Значения этих ключей (тип - булево) указывают на то, была ли сформирована соответствующая временная таблица.
		//

		public object СформироватьВременныеТаблицыОтборовДляВыгрузкиСебестоимости(/*Узел, МенеджерВременныхТаблиц*/)
		{
			//СтруктураОтборов = Новый Структура("Организация, Склад, Номенклатура", Ложь, Ложь, Ложь);
			/*// Формирование временных таблиц для отборов, указанных в настройке обмена с РТ.
*/
			/*// Если в настройке обмена используется отбор по Организация/Склад/Номенклатура, то
*/
			/*//	- создаем соответствующую временную таблицу с префиксом "Отбор", например ОтборНоменклатура
*/
			/*//		= в таблице должна быть только одна колонка с именем Значение
*/
			/*//		= в этой колонке должны быть указаны элементы (не группы!) соответствующего справочника, по которым будет 
*/
			/*//		  выполняться отбор для выгрузки себестоимости
*/
			/*//	- устанавливаем соответствующий ключ в СтруктураОтборов в Истина
*/
			/*// Временные таблицы помещаем в МенеджерВременныхТаблиц
*/
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			//ТаблицаСкладов 		= ЗаполнитьТаблицуПоОтбору("Склады", "Склад", Узел.ОтборПоСкладам);
			//ТаблицаНоменклатуры = ЗаполнитьТаблицуПоОтбору("Номенклатура", "Номенклатура", Узел.ОтборПоНоменклатуре);
			//Запрос.Текст = "";
			if(true/*Узел.Организации.Количество() > 0*/)
			{
				/*Запрос.Текст = Запрос.Текст + 
		"ВЫБРАТЬ
		|	Организации.Ссылка КАК Значение
		|ПОМЕСТИТЬ ОтборОрганизация
		|ИЗ
		|	ПланОбмена.ОбменУправлениеПредприятиемРозничнаяТорговля.Организации КАК Организации
		|ГДЕ
		|	Организации.Ссылка = &ЭтотУзел
		|;";*/
				//Запрос.УстановитьПараметр("ЭтотУзел", Узел);
				//СтруктураОтборов.Вставить("Организация", Истина);
			}
			if(true/*ТаблицаСкладов <> Неопределено И ТаблицаСкладов.Количество() > 0*/)
			{
				/*Запрос.Текст = Запрос.Текст +
		"ВЫБРАТЬ
		|	Таб.Склад КАК Значение
		|ПОМЕСТИТЬ ОтборСклад
		|ИЗ
		|	&ТаблицаСкладов КАК Таб
		|;";*/
				//Запрос.УстановитьПараметр("ТаблицаСкладов", ТаблицаСкладов);
				//СтруктураОтборов.Вставить("Склад", Истина);
			}
			if(true/*ТаблицаНоменклатуры <> Неопределено И ТаблицаНоменклатуры.Количество() > 0*/)
			{
				/*Запрос.Текст = Запрос.Текст +
		"ВЫБРАТЬ
		|	Таб.Номенклатура КАК Значение
		|ПОМЕСТИТЬ ОтборНоменклатура
		|ИЗ
		|	&ТаблицаНоменклатуры КАК Таб
		|;";*/
				//Запрос.УстановитьПараметр("ТаблицаНоменклатуры", ТаблицаНоменклатуры);
				//СтруктураОтборов.Вставить("Номенклатура", Истина);
			}
			if(true/*Запрос.Текст <> ""*/)
			{
				//Запрос.Выполнить();
			}
			return null;
		}
	}
}
